The control of fuel and spark events in an internal combustion engine requires knowledge of the engine cycle position. A common approach with four-stroke engines is to develop a high-resolution position signal (CRANK) based on rotation of the engine crankshaft (which rotates twice per engine cycle), and a low-resolution position signal (CAM) based on rotation of the engine camshaft (which rotates once per engine cycle). In this case, the CRANK signal is used for fuel and spark timing, and the CAM signal is used to synchronize the CRANK signal with the engine cycle position.
Conventional engine position decoding methodologies require one or more revolutions of the crankshaft in order to synchronize the CAM signal with the engine cycle position. FIG. 1 depicts a conventional decoding configuration for an eight-cylinder engine. In the illustrated example, the radial periphery of a crank-wheel attached to the crankshaft is provided with 58 teeth and a sync feature in the form of an 18° notch or gap, and the radial periphery of a cam-wheel attached to the camshaft is provided with four width-encoded teeth. The CRANK signal of Graph A is developed by a first magnetic position sensor responsive to movement of the crank-wheel teeth, and the CAM signal is developed by a second magnetic position sensor responsive to movement of the cam-wheel teeth. The CRANK signal of Graph B is decoded during engine rotation (cranking) by detecting the 18° pulse gap (referred to herein as a sync pulse), and the CAM signal is concurrently decoded by evaluating the pattern of long and short pulse widths. The relationship between the 18° sync pulse of the CRANK signal and the corresponding state (i.e., high or low) of the CAM signal synchronizes the CRANK signal with the engine cycle position. Once the CRANK and CAM signals are decoded and synchronized with the engine cycle, the engine controller can provide the correct fuel and spark controls for starting the engine. Unfortunately, decoding the CAM signal based just on the pulse width pattern can require anywhere from 360° to 540° of crankshaft rotation, depending on the initial position of the engine. Accordingly, what is desired is a CAM signal decoding methodology that uses conventional crank and cam tooth encoding but provides faster decoding for more prompt engine starting.